package com.sigerap.comensal.service;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import com.sigerap.comensal.model.Comensal;
import com.sigerap.comensal.model.dao.ComensalDAO;
import com.sigerap.comensal.model.dao.jpa.JPAComensalDAO;
import com.sigerap.common.model.dao.EntidadDAO;
import com.sigerap.common.util.Utilitario;



/**
 * <p>Controladora de eventos del negocio (Flujo de Actividades)</p>
 * 
 * @author Spirit-20121
 *
 */
public class ComensalService {

	private EntityManager em;
	private ComensalDAO comensalDAO;
	
	public ComensalService(){
		em = Utilitario.getInstance().getEntityManager();
		comensalDAO = new JPAComensalDAO(em);
	}
	
	public List<Comensal> listarComensales() {
		
		return comensalDAO.findAll();
	}
		
	public Comensal consultarComensal(Comensal comensal){
			return comensalDAO.findById(comensal);
	}
		
	public Comensal registrarComensal(Comensal comensal){
			EntityTransaction tx= em.getTransaction();
		try{
				tx.begin();
				comensalDAO.insert(comensal);
				tx.commit();
		}catch(Exception ex){
				ex.printStackTrace();
				tx.rollback();
				throw new RuntimeException("No se pudo registrar Comensal");
		}
			return comensal;
	}
	
	public Comensal buscarxDni (String dni){
		
		return comensalDAO.findByDni(dni);
	}

	
}